//
//  CleanCacheFile.m
//  清理缓存(小明版)
//
//  Created by dllo on 15/10/16.
//  Copyright © 2015年 天才谢美娜. All rights reserved.
//

#import "CleanCacheFile.h"

@implementation CleanCacheFile

#pragma mark 计算单个文件大小的方法
-(long long)fileSizeAtAbsolutePath:(NSString *)path{
    //创建一个文件管理着
    NSFileManager *manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:path]) {
        return [[manager attributesOfItemAtPath:path error:nil] fileSize];
    }
    return 0;
}

#pragma mark 计算一个文件夹的大小
-(float)folderSizeAtCachePath:(NSArray *)array{
    NSString *path = [array objectAtIndex:0];
    //创建一个文件管理者
    NSFileManager *manager = [NSFileManager defaultManager];
    if (![manager fileExistsAtPath:path]) {
        return 0;
    }
    //根据路径获取文件夹里面的元素集合
    //获取集合类型的枚举器
    NSEnumerator *enumerator = [[manager subpathsAtPath:path] objectEnumerator];
    //每次建立得到的文件名
    NSString *fileName = [NSString string];
    //文件夹的大小
    float folderSize = 0;
    while ((fileName = [enumerator nextObject]) != nil) {
        //拼接当前文件的绝对路径(自动加/)
        NSString *absolutePath = [path stringByAppendingPathComponent:fileName];
        folderSize += [self fileSizeAtAbsolutePath:absolutePath];
    }
    return folderSize / (1024.0 * 1024.0);
}


//#pragma mark 清除缓存
-(float)cleanCacheFileAtCachePath:(NSArray *)array{
    NSString *path = [array objectAtIndex:0];
    NSFileManager *manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:path]) {
        NSArray *fileNameArray = [manager subpathsAtPath:path];
        for (NSString *fileName in fileNameArray) {
            //拼接绝对路径
            NSString *adsolutePath = [path stringByAppendingPathComponent:fileName];//文件
            //通过文件管理者删除文件
            [manager removeItemAtPath:adsolutePath error:nil];
            
        }
    }
    return [self folderSizeAtCachePath:array];
}


@end
